home *** CD-ROM | disk | FTP | other *** search
- /* copy */
- /* © Dick Doyle */
-
-
-
-
- options results
-
- MXSLIDER "Nº of Copies,1,99,1"
-
- MXREQUEST "COPY,YES"
- if result == 0 then exit
- MXPOINTER "sleepy"
-
- MXVALUE 1
- times = result
-
-
-
-
-
- GETBARDATA
-
-
-
- if BARDATA.SELECT == 'NONE' then do
- MXREPORT "You must select some notes!"
- exit
- end
- if BARDATA.SELECT == 'MARK' then
- SIGNAL MK
- if BARDATA.SELECT == 'SELECT' then
- SIGNAL ST
-
-
-
- MK:
- BEGINSCAN 'selected'
-
- if result ~= 0 then do forever
-
- nob = BARDATA.STOP.BARS - BARDATA.START.BARS
-
- NEXTEVENT
- if result == 0 then break
-
-
- if EVENT.TYPE == 'NOTE' then
- do i = 1 to times
- EVENT.START.BARS = EVENT.START.BARS + nob
- EVENT.STOP.BARS = EVENT.STOP.BARS + nob
-
-
- ADDEVENT
-
- end
- end
- ENDSCAN
-
-
-
-
- BEGINSCAN 'all'
-
- if result ~= 0 then do forever
-
- NEXTEVENT
- if result == 0 then break
- newend = times * nob + nob
- if EVENT.TYPE == 'END' then do
- EVENT.START.BARS = newend + (EVENT.START.BARS - nob)
- end
- REPLEVENT
- end
- ENDSCAN
-
-
- MXPOINTER "normal"
-
- EXIT
-
- ST:
- BEGINSCAN 'selected'
-
- if result ~= 0 then do forever
-
- nob = (BARDATA.STOP.BARS +1) - BARDATA.START.BARS
-
- NEXTEVENT
- if result == 0 then break
-
-
- if EVENT.TYPE == 'NOTE' then
- do i = 1 to times
- EVENT.START.BARS = EVENT.START.BARS + nob
- EVENT.STOP.BARS = EVENT.STOP.BARS + nob
-
-
- ADDEVENT
-
- end
- end
- ENDSCAN
-
-
-
-
- BEGINSCAN 'all'
-
- if result ~= 0 then do forever
-
- NEXTEVENT
- if result == 0 then break
- newend = times * nob + nob
- if EVENT.TYPE == 'END' then do
- EVENT.START.BARS = newend + (EVENT.START.BARS - nob)
- end
- REPLEVENT
- end
- ENDSCAN
-
-
- MXPOINTER "normal"
-
- EXIT
-